using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;
using Nextel.Utils;
public partial class Reporte_monitoreo_dispatch_DispatchBusqueda : PageController
{
    
   public List<ActividadReporteBean> lista = new List<ActividadReporteBean>( );
   public PaginacionBean pagina = new PaginacionBean();
   public String camposBusqueda = "";
   public String mensajeError = "";
   public String color;



   protected override void initialize( )
    {
        realizarAccion();

        if (Request.Form["numeroPagina"] != null)
        {
            irPagina();
        }
        else
        {
            realizarBusqueda();
        }        
                
    }

    public void realizarAccion()
    {
        //solo para actualizar
        string actividad = Request.Form["codigoActividad"];
        string accion = Request.Form["accion"];

        if (actividad != null && accion == "actualizar")
        {
            string usuario = Request.Form["codigoUsuario"];
            DBMonitoreo.updateMonitoreoDispatch(usuario, actividad);
            try
            {
                PushEnvio.subEnvioPush(usuario, IdiomaCultura.getMensaje(IdiomaCultura.WEB_PUSH_MENSAJE_ENTRENGA));
            }
            catch (Exception e) {
                BaseLN.registrarLog("ERROR PUSH" + e);
            }
        }
        else if (actividad != null && accion == "eliminar")
        {
            string usuario = Request.Form["codigoUsuario"];
            DBMonitoreo.updateMonitoreoDispatch("", actividad);
            try{
            PushEnvio.subEnvioPush(usuario, IdiomaCultura.getMensaje(IdiomaCultura.WEB_PUSH_MENSAJE_NOENTREGA));
            }
            catch (Exception e)
            {
                BaseLN.registrarLog("ERROR PUSH" + e);
            }
        }

    }



    public void realizarBusqueda()
    {
        lista = DBMonitoreo.findMonitoreoDispatch(getActividadReporteBean(), ((UsuarioBean)Session[SessionManager.USER_SESSION]).codigo);
        
        foreach (ActividadReporteBean bean in lista)
        {
            try 
            {             
                bean.color = getcolor(bean.finalizado); 
            }
            catch (Exception e) { }
        }      
        

        pagina.setTotalRegistros(lista.Count > 0 ?  lista[0].tamaniototal : "0" ); 

        pagina.calcularNumeroMostrar();
    }


    private String getcolor(String finalizado)
    {
        if (finalizado == "0")//Inicio - Rojo
        {
            color = "#ff0000";
            return color;
        }
        if (finalizado == "1")//Salida - Verde
        {
            color = "#008000";
            return color;
        }
        if (finalizado == "2")//No visita - Amarillo
        {
            color = "#ffff00";
            return color;
        }

        color= "";
        return color;


    }

    private ActividadReporteBean getActividadReporteBean( )
    {
        ActividadReporteBean bean = new ActividadReporteBean();

        //bean.codigo = Request.Form["txtcodigo"];
        //camposBusqueda = "txtcodigo=" + bean.codigo;
        
        bean.nombre = Request.Form["txtCliente"];
        bean.codigousuario = Request.Form["txtUsuario"];

        bean.fechainicio = Request.Form["txtfecha"];

        camposBusqueda = "txtCliente=" + bean.nombre;
        camposBusqueda += "&txtUsuario=" + bean.codigousuario;
        camposBusqueda += "&txtfecha=" + bean.fechainicio;

        asignarPaginacionBean(bean);

        return bean;
    }

    #region irpagina
    public void irPagina()
    {
        String piPagina = Request.Form["numeroPagina"];
        String pAncla = Request.Form["ancla"];
        String pPaginaIzquierda = Request.Form["paginaIzquierda"];

        if (pagina != null && piPagina != null)
        {
            pagina.paginaAncla = pAncla;

            if (pPaginaIzquierda != null && !"".Equals(pPaginaIzquierda))
            {
                pagina.paginaIzquierda = int.Parse(pPaginaIzquierda);
            }

            pagina.irPagina(int.Parse(piPagina));

            realizarBusqueda();
        }
    }

    private void asignarPaginacionBean(AbstractBean bean)
    {
        pagina.buscarOrden = Request.Form["hidBuscarOrden"] != null ? int.Parse(Request.Form["hidBuscarOrden"]) : 0;
        pagina.buscarNombre = Request.Form["hidBuscarCampo"];
        camposBusqueda = camposBusqueda + "&hidModulo=" + Request.Form["hidModulo"];

        bean.registroporpagina = pagina.regitrosPorPagina;
        bean.paginaactual = pagina.paginaActual;
        bean.buscarorden = pagina.buscarOrden;
        bean.buscarname = pagina.buscarNombre;
    }

    #endregion

}
